package org.deltaset.meta.internal;

import org.deltaset.meta.MetaAction;
import org.deltaset.meta.MetaMessages;

/**
 *
 * @author dmakariev
 */
class MetaResultImpl {

    private final MetaClassImpl valueMetaClass;
    private final Object value;
    private final MetaAction executedAction;
    private final MetaMessages messages;

    MetaResultImpl(MetaClassImpl valueMetaClass, Object value, MetaActionImpl executedAction, MetaMessagesImpl messages) {
        this.valueMetaClass = valueMetaClass;
        this.value = value;
        this.executedAction = executedAction;
        this.messages = messages;
    }

    public MetaAction getExecutedAction() {
        return executedAction;
    }

    public MetaMessages getMessages() {
        return messages;
    }

    public MetaClassImpl getValueMetaClass() {
        return valueMetaClass;
    }

    public Object getValue() {
        return value;
    }
}
